#ifndef DRECT_HPP
#define DRECT_HPP

#include "DPoint.hpp"

namespace Distillate {

/**
* Stores a rectangle
*/
class DRect : public DPoint {
public:
	float width;
	float height;

	/**
	 * Instantiate a new rectangle.
	 *
	 * @param   X       The X-coordinate of the point in space.
	 * @param   Y       The Y-coordinate of the point in space.
	 * @param   Width   Desired width of the rectangle.
	 * @param   Height  Desired height of the rectangle.
	 */
	DRect(float X = 0, float Y = 0, float Width = 0, float Height = 0)
		: DPoint(X,Y), width(Width), height(Height) {}
	virtual ~DRect();

	/**
	* The X coordinate of the left side of the rectangle.  Read-only.
	*/
	float getLeft();

	/**
	* The X coordinate of the right side of the rectangle.  Read-only.
	*/
	float getRight();

	/**
	* The Y coordinate of the top of the rectangle.  Read-only.
	*/
	float getTop();

	/**
	* The Y coordinate of the bottom of the rectangle.  Read-only.
	*/
	float getBottom();
};

}
#endif // DRECT_HPP
